Ext.define('IHC.controller.ihc.processos.IHC003FormController', {
	extend : 'Ext.app.Controller',
	
	requires : [
		'IHC.model.AtividadeColaborador',
		'IHC.store.ihc.processos.IHC003AtividadeColaborador',
		'IHC.view.ihc.processos.IHC003FormWindow'
	],
	
	views : [
	    'IHC.view.ihc.processos.IHC003FormWindow'
	],
	
	stores : [
	    'IHC.store.ihc.processos.IHC003AtividadeColaborador',
	    'IHC.store.ihc.processos.IHC003Colaborador',
	    'IHC.store.ihc.processos.IHC003Atividade'
	],
	
	refs : [{
		ref : 'hintToolbar',
		selector : '#ihc003-hint-toolbar'
	}, {
		ref : 'windowRef',
		selector : '#ihc003-window'
	}, {
		ref : 'formRef',
		selector : '#ihc003-form'
	}],
	
	mixins : [
	    'InsoftExtUi.ux.mixins.controller.CrudFormMixin'
	],
	
	init : function() {
		var me = this;
		me.initController('IHC.store.ihc.processos.IHC003AtividadeColaborador');
	},
	
	actionIndex : function(mode, record) {
		var me = this, 
			window = me.createWindow();
		
		mode = mode || 'I';
		
		if (mode === 'I') {
			record = Ext.create('IHC.model.AtividadeColaborador');
		}
		
		me.openWindow({
			window : window,
			mode : mode,
			record : record,
			lookup : {
				atividade : {
					fields : ["id", "descricao"]
				},
				colaborador : {
					fields : ["id", "nome"]
				}
			},
			bindHint : false
		});
		
		if (mode === "U") {
			var colaborador = me.getFormRef().getForm().findField("colaborador");
			colaborador.setValue(record.get("colaborador").nome);
			colaborador.setReadOnly(true);
			
			var atividade = me.getFormRef().getForm().findField("atividade");
			atividade.setValue(record.get("atividade").projeto.descricao + " - " + record.get("atividade").descricao);
			atividade.setReadOnly(true);
		}
		
	},
	
	setExtraValues : function(form, record) {
		record.set("atividade", {id: form.getValues()["atividade"]});
		record.set("colaborador", {id: form.getValues()["colaborador"]});
	}
});
